﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.NetworkInformation;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace EveMarkets.UserControls
{
	/// <summary>
	/// Logique d'interaction pour UcAccueil.xaml
	/// </summary>
	public partial class UcAccueil : UserControl
	{
		/// <summary>
		/// Permet de savoir s'il y a un accès à internet
		/// </summary>
		public bool HasInternet
		{
			get { return _hasInternet; }
		}
		private readonly bool _hasInternet;
		
		/// <summary>
		/// Constructeur de l'user Control
		/// </summary>
		/// <param name="dateDeLaMiseAJourMarket">Date de la derniere mise à jour du Market.</param>
		public UcAccueil()
		{
			InitializeComponent();

			// Vérification de la connexion à internet.
			_hasInternet = CheckInternet();
			if (_hasInternet)
			{
				tbConnexionNet.Text = "OK";
				tbConnexionNet.Foreground = Brushes.Green;
			}
			else
			{
				tbConnexionNet.Text = "KO";
				tbConnexionNet.Foreground = Brushes.Red;
			}
		}

		/// <summary>
		/// Vérifie la présence d'internet avec un ping sur www.google.com
		/// </summary>
		/// <returns></returns>
		private bool CheckInternet()
		{
			Ping ping = new Ping();
			var pingReply = ping.Send("www.google.com");
			return pingReply.Status == IPStatus.Success;
		}


		public void MiseEnPlace(DateTime? dateDeLaMiseAJourMarket)
		{
			// Affichage du lien avec la Base. Le test du lien est envoyé par le Main.
			if(dateDeLaMiseAJourMarket.HasValue)
			{
				// Affichage de la date
				tbDateMarket.Text = dateDeLaMiseAJourMarket.Value.ToString("d");
				tbConnectBase.Text = "OK";
				tbConnectBase.Foreground = Brushes.Green;
			}
			else
			{
				tbConnectBase.Text = "KO";
				tbConnectBase.Foreground = Brushes.Red;

				tbDateMarket.Text = "--/--/--";
				tbDateMarket.Foreground = Brushes.Red;
			}
		}
	}
}
